home *** CD-ROM | disk | FTP | other *** search
- /**
- GRAB Graph Layout and Browser System
-
- Copyright (c) 1989, Tera Computer Company
- **/
-
- /* ultra way-exciting interface so C routines can call C++ routines */
-
- #ifndef interf_h
- #define interf_h
-
- #include "attribute.h"
-
- #define NUMOPTS 11 /* better be the same as in bview.h */
-
- extern void IChangeStatusLine (); /* print a message in the status line */
- extern void IChangeFileName (); /* print the file name */
- extern void IChangeGraphName (); /* print the graph name */
- extern char *IGetText (); /* pop up a dialog box and get some text */
- extern void IChangeToggles (); /* mark the proper items in the options
- extern menu with stars */
- extern void IAddNode (); /* add a node */
- extern void IAddEdge (); /* add an edge */
- extern void IAddLine (); /* add a free-floating line */
- extern void IEraseGraph (); /* recycle the graph */
- extern void ISetCursor (); /* change the cursor */
- extern void IUnsetCursor (); /* return the cursor to normal */
- extern void ICenterGraph(); /* make the graph fit nice and tidy in the
- extern window */
- extern void IUpdateP(); /* inform the graph window the perspective
- extern has changed */
- extern void IUpdateG(); /* inform the graph window the graph
- extern has changed */
- extern void IChangeZGrad(); /* change the zoom gradient */
- extern void IChangePGrad(); /* change the pan gradient */
- extern void IRedrawWorld(); /* redraw everything */
- extern void IGetBounds(); /* find the size of the graph window */
- extern void IPrintHelp(); /* pop up the help windows */
- extern char IConfirm(); /* pop up a dialogbox and get
- extern confirmation for something */
- extern void IInitFonts(); /* initialize the fonts */
- extern void ISetFont(); /* set the fonts */
- extern BOOL ITextFits(); /* see if some text will fit in a
- extern certain space */
- extern BOOL IOnNonDummyNode(); /* are we on a non-dummy node? */
- extern BOOL IOnNode(); /* are we on a node? */
- extern BOOL IOnEdge(); /* are we on an edge? */
- extern char *ICurNode(); /* what node are we on? */
- extern char *ICurEdge(); /* what edge are we on? */
- extern void IForceEL(); /* force edge labels to be printed */
- extern void INoForceEL(); /* force edge labels to be not printed */
- extern void IForceNL(); /* force node labels to be printed */
- extern void INoForceNL(); /* force node labels to be not printed */
- extern void IChangeLabels(); /* change node/edge labels */
- extern void IChangeForceNL(); /* inform the graph that node labels
- extern have been forced/unforced */
- extern void IChangeForceEL(); /* inform the graph that edge labels
- extern have been forced/unforced */
- extern void IChangePA(); /* inform the graph that arrows have
- extern been forced/unforced */
- extern void IChangeMarkDummy(); /* inform the graph that dummy nodes
- extern should/should not be marked */
- extern void IFindSmallestFont(); /* get the size of the smallest font */
- extern void IFocusGraph(); /* focus the graph on a certain position */
- extern void IChangeNodeText(); /* change the text of a node */
- extern void IChangeEdgeLabel(); /* change the label of an edge */
- extern void IDelEdge(); /* delete an edge */
- extern void IDelNode(); /* delete a node */
- extern void IGetCurPos(); /* get the current cursor position */
- extern void ISetupMove(); /* get things ready for a move */
- extern void IChangeBC(); /* inform the graph that barycenter should/
- extern should not be printed */
- extern void IResetCurrent(); /* recalculate who's under the cursor */
- extern void IChangeEdge(); /* change built-in attributes for an edge */
- extern void IChangeNode(); /* change built-in attributes for a node */
- extern SHAPE ICurShape(); /* get the current shape (on the side) */
- extern BRUSH ICurBrush(); /* get the current brush (on the side) */
- extern COLOR ICurColor(); /* get the current color (on the side) */
- extern BOOL IColorSet(); /* is a color set (on the side?) */
- extern BOOL IBrushSet(); /* is a brush set (on the side?) */
- extern BOOL IShapeSet(); /* is a shape set (on the side?) */
- extern SHAPE INextShape(); /* get the next shape */
- extern BRUSH INextBrush(); /* get the next brush */
- extern COLOR INextColor(); /* get the next color */
- extern void ISetPS(); /* set the postscript font */
- extern int IWidthPS(); /* find the width of some text in the
- extern postscript font */
- extern void ISetDisplayed(); /* display the graph attributes window */
- extern void IShowNAttr(); /* display the attributes of a node */
- extern void IShowEAttr(); /* display the attributes of an edge */
- extern void IEraseAttrBox(); /* erase the displayed attributes */
- extern void ISetAttrNames(); /* give the names of the attributes */
-
- #endif
-